/*
 * Copyright (c) 2012 SUBSECRETARIA DEFENSORIA DEL ESPACIO PUBLICO - SDEP.
 * All Rights Reserved.
 * This software is the confidential and proprietary information of SDEP
 * Developed By CONSTULT-SOFT S.A, Development Team 2012.
 *
 */
package co.gov.medellin.sdep.sisdep.model;

import co.gov.medellin.sdep.sisdep.common.OracleHelper;

/**
 * <p>
 * Entidad que mapea con la tabla SISDEP.GES_MODULO_DISENO_T.
 * </p>
 * <p>
 * Copyright (c) 2012<BR>
 * Consult-Soft S.A.<BR>
 * Created on: May 09, 2012<BR>
 * 
 * @author atabares
 * </p>
 */
public class ModuloDiseno implements java.io.Serializable {

	/** Serial key. */
	private static final long serialVersionUID = 531520693429378326L;

	/** Identificador del registro. */
	private java.lang.Long id;

	/** Codigo asociado al diseno del modulo. */
	private java.lang.String codigo;

	/** Identificador del material de construccion asociado al diseno del modulo. */
	private java.lang.Long idMaterial;

	/** String que identifica el material de construccion asociado al diseno del modulo. */
	private java.lang.String idMaterialStr;

	/** Nombre del material de construccion asociado al diseno del modulo. */
	private java.lang.String material;
	
	/** Nombre del diseno del modulo. */
	private java.lang.String estilo;

	/** Descripcion del plano del modulo. */
	private java.lang.String plano;

	/** Enlace a foto del diseno del modulo. */
	private java.lang.String idFotoAnexoDiseno;
	
	/** Nombre generado por SISDEP para el archivo anexo de diseno de modulo. */
	private java.lang.String fotoAnexoDiseno;

	/** Dimensiones en cuanto Ancho - largo. */
	private java.lang.String dimAnchoLargo;

	/** Dimensiones en cuanto Frente - Fondo - Alto. */
	private java.lang.String dimFrenteFondoAlto;

	/** Dimensiones en cuanto Frente - Fondo - Area. */
	private java.lang.String dimFrenteFondoArea;

	/** Identifica login del usuario que crea el registro. */
	private java.lang.String usuarioCrea;

	/** Identificar la fecha, hora del sistema en la que se crea el registro. */
	private java.util.Date fechaCrea;

	/** Identifica login del usuario que actualiza el registro. */
	private java.lang.String usuarioModifica;

	/** Identificar la fecha, hora del sistema en la que se actualiza el registro. */
	private java.util.Date fechaModifica;
	
	/** Indica si la operacion que se esta ejecutando es una actualizacion. */
	private boolean actualizacion;
	
	/** Es un String que indica si la operacion que se esta ejecutando es una actualizacion. */
	private String actualizacionStr;

	
	/**
	 * Obtiene el parametro id.
	 * @see ModuloDiseno#id
	 *
	 * @return El parametro id.
	 */
	public java.lang.Long getId() {
		return id;
	}

	/**
	 * Asigna el parametro id.
	 * @see ModuloDiseno#id
	 *
	 * @param id valor a asignar al parametro id.
	 */
	public void setId(java.lang.Long id) {
		this.id = id;
	}

	/**
	 * Obtiene el parametro codigo.
	 * @see ModuloDiseno#codigo
	 *
	 * @return El parametro codigo.
	 */
	public java.lang.String getCodigo() {
		return codigo;
	}

	/**
	 * Asigna el parametro codigo.
	 * @see ModuloDiseno#codigo
	 *
	 * @param codigo valor a asignar al parametro codigo.
	 */
	public void setCodigo(java.lang.String codigo) {
		this.codigo = codigo;
	}

	/**
	 * Obtiene el parametro idMaterial.
	 * @see ModuloDiseno#idMaterial
	 *
	 * @return El parametro idMaterial.
	 */
	public java.lang.Long getIdMaterial() {
		if (!OracleHelper.isNullorEmpty(this.idMaterialStr)) {
			return new Long(this.idMaterialStr);
		}
		
		return idMaterial;
	}

	/**
	 * Asigna el parametro idMaterial.
	 * @see ModuloDiseno#idMaterial
	 *
	 * @param idMaterial valor a asignar al parametro idMaterial.
	 */
	public void setIdMaterial(java.lang.Long idMaterial) {
		this.idMaterial = idMaterial;
	}

	/**
	* Obtiene el parametro idMaterialStr.
	* @see ModuloDiseno#idMaterialStr
	*
	* @return El parametro idMaterialStr.
	*/
	public java.lang.String getIdMaterialStr() {
		if (this.idMaterial != null) {
			return this.idMaterial.toString();
		}
		
		return idMaterialStr;
	}

	/**
	* Asigna el parametro idMaterialStr.
	* @see ModuloDiseno#idMaterialStr
	*
	* @param idMaterialStr valor a asignar al parametro idMaterialStr.
	*/
	public void setIdMaterialStr(java.lang.String idMaterialStr) {
		this.idMaterialStr = idMaterialStr;
	}

	/**
	* Obtiene el parametro material.
	* @see ModuloDiseno#material
	*
	* @return El parametro material.
	*/
	public java.lang.String getMaterial() {
		return material;
	}

	/**
	* Asigna el parametro material.
	* @see ModuloDiseno#material
	*
	* @param material valor a asignar al parametro material.
	*/
	public void setMaterial(java.lang.String material) {
		this.material = material;
	}

	/**
	 * Obtiene el parametro estilo.
	 * @see ModuloDiseno#estilo
	 *
	 * @return El parametro estilo.
	 */
	public java.lang.String getEstilo() {
		return estilo;
	}

	/**
	 * Asigna el parametro estilo.
	 * @see ModuloDiseno#estilo
	 *
	 * @param estilo valor a asignar al parametro estilo.
	 */
	public void setEstilo(java.lang.String estilo) {
		this.estilo = estilo;
	}

	/**
	 * Obtiene el parametro plano.
	 * @see ModuloDiseno#plano
	 *
	 * @return El parametro plano.
	 */
	public java.lang.String getPlano() {
		return plano;
	}

	/**
	 * Asigna el parametro plano.
	 * @see ModuloDiseno#plano
	 *
	 * @param plano valor a asignar al parametro plano.
	 */
	public void setPlano(java.lang.String plano) {
		this.plano = plano;
	}

	/**
	 * Obtiene el parametro idFotoAnexoDiseno.
	 * @see ModuloDiseno#idFotoAnexoDiseno
	 *
	 * @return El parametro idFotoAnexoDiseno.
	 */
	public java.lang.String getIdFotoAnexoDiseno() {
		return idFotoAnexoDiseno;
	}

	/**
	 * Asigna el parametro idFotoAnexoDiseno.
	 * @see ModuloDiseno#idFotoAnexoDiseno
	 *
	 * @param idFotoAnexoDiseno valor a asignar al parametro idFotoAnexoDiseno.
	 */
	public void setIdFotoAnexoDiseno(java.lang.String idFotoAnexoDiseno) {
		this.idFotoAnexoDiseno = idFotoAnexoDiseno;
	}

	/**
	* Obtiene el parametro fotoAnexoDiseno.
	* @see ModuloDiseno#fotoAnexoDiseno
	*
	* @return El parametro fotoAnexoDiseno.
	*/
	public java.lang.String getFotoAnexoDiseno() {
		return fotoAnexoDiseno;
	}

	/**
	* Asigna el parametro fotoAnexoDiseno.
	* @see ModuloDiseno#fotoAnexoDiseno
	*
	* @param fotoAnexoDiseno valor a asignar al parametro fotoAnexoDiseno.
	*/
	public void setFotoAnexoDiseno(java.lang.String fotoAnexoDiseno) {
		this.fotoAnexoDiseno = fotoAnexoDiseno;
	}

	/**
	 * Obtiene el parametro dimAnchoLargo.
	 * @see ModuloDiseno#dimAnchoLargo
	 *
	 * @return El parametro dimAnchoLargo.
	 */
	public java.lang.String getDimAnchoLargo() {
		return dimAnchoLargo;
	}

	/**
	 * Asigna el parametro dimAnchoLargo.
	 * @see ModuloDiseno#dimAnchoLargo
	 *
	 * @param dimAnchoLargo valor a asignar al parametro dimAnchoLargo.
	 */
	public void setDimAnchoLargo(java.lang.String dimAnchoLargo) {
		this.dimAnchoLargo = dimAnchoLargo;
	}

	/**
	 * Obtiene el parametro dimFrenteFondoAlto.
	 * @see ModuloDiseno#dimFrenteFondoAlto
	 *
	 * @return El parametro dimFrenteFondoAlto.
	 */
	public java.lang.String getDimFrenteFondoAlto() {
		return dimFrenteFondoAlto;
	}

	/**
	 * Asigna el parametro dimFrenteFondoAlto.
	 * @see ModuloDiseno#dimFrenteFondoAlto
	 *
	 * @param dimFrenteFondoAlto valor a asignar al parametro dimFrenteFondoAlto.
	 */
	public void setDimFrenteFondoAlto(java.lang.String dimFrenteFondoAlto) {
		this.dimFrenteFondoAlto = dimFrenteFondoAlto;
	}

	/**
	 * Obtiene el parametro dimFrenteFondoArea.
	 * @see ModuloDiseno#dimFrenteFondoArea
	 *
	 * @return El parametro dimFrenteFondoArea.
	 */
	public java.lang.String getDimFrenteFondoArea() {
		return dimFrenteFondoArea;
	}

	/**
	 * Asigna el parametro dimFrenteFondoArea.
	 * @see ModuloDiseno#dimFrenteFondoArea
	 *
	 * @param dimFrenteFondoArea valor a asignar al parametro dimFrenteFondoArea.
	 */
	public void setDimFrenteFondoArea(java.lang.String dimFrenteFondoArea) {
		this.dimFrenteFondoArea = dimFrenteFondoArea;
	}

	/**
	 * Obtiene el parametro usuarioCrea.
	 * @see ModuloDiseno#usuarioCrea
	 *
	 * @return El parametro usuarioCrea.
	 */
	public java.lang.String getUsuarioCrea() {
		return usuarioCrea;
	}

	/**
	 * Asigna el parametro usuarioCrea.
	 * @see ModuloDiseno#usuarioCrea
	 *
	 * @param usuarioCrea valor a asignar al parametro usuarioCrea.
	 */
	public void setUsuarioCrea(java.lang.String usuarioCrea) {
		this.usuarioCrea = usuarioCrea;
	}

	/**
	 * Obtiene el parametro fechaCrea.
	 * @see ModuloDiseno#fechaCrea
	 *
	 * @return El parametro fechaCrea.
	 */
	public java.util.Date getFechaCrea() {
		return fechaCrea;
	}

	/**
	 * Asigna el parametro fechaCrea.
	 * @see ModuloDiseno#fechaCrea
	 *
	 * @param fechaCrea valor a asignar al parametro fechaCrea.
	 */
	public void setFechaCrea(java.util.Date fechaCrea) {
		this.fechaCrea = fechaCrea;
	}

	/**
	 * Obtiene el parametro usuarioModifica.
	 * @see ModuloDiseno#usuarioModifica
	 *
	 * @return El parametro usuarioModifica.
	 */
	public java.lang.String getUsuarioModifica() {
		return usuarioModifica;
	}

	/**
	 * Asigna el parametro usuarioModifica.
	 * @see ModuloDiseno#usuarioModifica
	 *
	 * @param usuarioModifica valor a asignar al parametro usuarioModifica.
	 */
	public void setUsuarioModifica(java.lang.String usuarioModifica) {
		this.usuarioModifica = usuarioModifica;
	}

	/**
	 * Obtiene el parametro fechaModifica.
	 * @see ModuloDiseno#fechaModifica
	 *
	 * @return El parametro fechaModifica.
	 */
	public java.util.Date getFechaModifica() {
		return fechaModifica;
	}

	/**
	 * Asigna el parametro fechaModifica.
	 * @see ModuloDiseno#fechaModifica
	 *
	 * @param fechaModifica valor a asignar al parametro fechaModifica.
	 */
	public void setFechaModifica(java.util.Date fechaModifica) {
		this.fechaModifica = fechaModifica;
	}

	/**
	* Obtiene el parametro actualizacion.
	* @see ModuloDiseno#actualizacion
	*
	* @return El parametro actualizacion.
	*/
	public boolean isActualizacion() {
		return actualizacion;
	}

	/**
	* Asigna el parametro actualizacion.
	* @see ModuloDiseno#actualizacion
	*
	* @param actualizacion valor a asignar al parametro actualizacion.
	*/
	public void setActualizacion(boolean actualizacion) {
		this.actualizacion = actualizacion;
	}

	/**
	* Obtiene el parametro actualizacionStr.
	* @see ModuloDiseno#actualizacionStr
	*
	* @return El parametro actualizacionStr.
	*/
	public String getActualizacionStr() {
		return OracleHelper.boolean2string(this.actualizacion);
	}

	/**
	* Asigna el parametro actualizacionStr.
	* @see ModuloDiseno#actualizacionStr
	*
	* @param actualizacionStr valor a asignar al parametro actualizacionStr.
	*/
	public void setActualizacionStr(String actualizacionStr) {
		this.actualizacionStr = actualizacionStr;
	}

}